package com.zx.idc.backend.gui.api.commom.factory.encrypt;

import org.apache.commons.codec.binary.Base64;

/**
 * 机密解密接口定义类
 * Created by hasee on 2019/2/20.
 */
public interface Encrypt {


    /**
     * 数据加密算法
     * @param sourceData 欲加密的字节数组
     * @param password 加密密码
     * @param offset 偏移量
     * @param isBase64Encode 是否进行base64计算
     * @return 加密结果
     */
    default String encrypt(byte[] sourceData, String password, String offset, boolean isBase64Encode) {
        return null;
    }

    /**
     * 数据解密算法
     * @param encryptData 欲解密的字符串
     * @param password 加密秘钥
     * @param offset 偏移量
     * @param isBase64Encode 是否进行base64计算
     * @return 解密结果
     */
    default byte[] decrypt(String encryptData, String password, String offset, boolean isBase64Encode) {
        return null;
    }
}
